Introduction:
    This is a Serial driver of EUART Controller.
    This driver is developed based on the serial core.
    The serial core exports some functions for the serial driver.
       see reference Low Level Serial API.

    We reference 8250.c to implement this driver.
    
    The first verion is based on linux 2.6.31.
    
    Note: If kernel is 2.4.19, see the Readme-2.4.19.txt.

build & insmod:
    check your Kernel version and go to the dir cooresponded with kernel.
    typing "make clean | make all" to build them.
    typing "./insmod_pci.sh" to load the driver.
    typing "./rmmod_pci.sh" to un load the driver.
        before loading "module_serial_A9610.ko", you need the following module.
            serial        => this module supprt on borad COM port & serial functions
            parport       => this module supprt parport funcitons
    module params (you can edit insmod_pci.sh to modify module params.)
        mp_422mode:
            the '1' value is 422 mode. the '0' value is 485 mode.
            only for UART 422 485 port.

        mp_DMAEnable:
            the '1' value is to enable DMA.
            only for EUART DMA.

        mp_UARTSpeedMode:  to specify UART Speed Mode
            // UARTSpeedMode = 0, Standard, ClockRate = 1846153, ClockDIV = 16,
            // UARTSpeedMode = 1, HighSpeed, ClockRate = 24000000, ClockDIV = 16,
            // UARTSpeedMode = 4, Extended1, ClockRate = 1846153, ClockDIV = 8,
            // UARTSpeedMode = 5, Extended2, ClockRate = 24000000, ClockDIV = 13,
            // UARTSpeedMode = 6, Extended2, ClockRate = 50000000, ClockDIV = 1,
            only for EUART DMA.

    Serial device's Major and minor for /dev/ttyRDC
        /dev/ttyRDC0 major 30, minor 0
        /dev/ttyRDC1 major 30, minor 1
        /dev/ttyRDC2 major 30, minor 2
        ...
    
    parallel port is
        /dev/lp0
        /dev/lp1
        /dev/lp2
        /dev/lp3

    EUARTInfo is the EUART port info program.
    EUART422 and EUART485 are the mode(422/485) change program.
    example:
    ./EUART422 /dev/ttyRDC0
        => it will change /dev/ttyRDC0 to 422 mode.
    ./EUART485 /dev/ttyRDC1
        => it will change /dev/ttyRDC0 to 485 mode.
    ./EYARTInfo
        => it shows all ttyRDC information.
        => (B,D,F) = (BusNumber, DeviceNumber, FunctionNumber)

    There is a program about serial and modem manager.
        modem manager may lock serial port at the first time of insmod serial module.
        To solve this, you can remove (rmmod) serial module, then insmod again.
        or uninstall modem manager.

    you may need the following packages:
        automake
        your kernel develop packages.    

Our build enviroment:
    //2.6.18  --  Centos 5.9 (2.6.18)
    2.6.31  --  Fefora 12 (2.6.31)
    //2.6.32  --  Centos  6.4 (2.6.32)
    //2.6.37  --  openSUSE 11.4 (2.6.37)
    3.5.0   --  ubuntu 12.04.2 (3.5.0), fedora 18 (3.6.0), fedora 18 updated (3.8.6)
                openSUSE 12.3 (3.7.10)
 
    3.19.0  --  ubuntu 14.04.5 (4.4.0)

    //2.4.19  --  Centos 3.9 (2.4.21) see Readme-2.4.19.txt

    
supportted hardware
    pbn_17F3_121C = 0, parallel is enabled.
    pbn_1BBC_1211,
    pbn_1BBC_1212,
    pbn_1BBC_1213,
    pbn_1BBC_1219,
    pbn_1BBC_121A,
    pbn_1BBC_121B,
    pbn_1BBC_1216,
    pbn_1BBC_1217,
    pbn_1BBC_1215,

